/*
Description
一球从M米高度自由下落，每次落地后返回原高度的一半，再落下。 它在第N次落地时反弹多高？共经过多少米？ 保留两位小数
Input
M N
Output
它在第N次落地时反弹多高？共经过多少米？ 保留两位小数，空格隔开，放在一行
Sample Input
1000 5
Sample Output
31.25 2875.00
*/

#include <stdio.h>

int main()
{
	int n;//落地次数N 
	double m,sum=0; //sum为共经过的路程长度  m为每次下落的高度 
	scanf("%lf%d",&m,&n);
	for(int i=0;i<n;i++)
	{
		sum = sum+1.5*m;//从上一次反弹的最高点到下一次反弹的最高点经过的路程为1.5*上一个最高点的高度 
		m=m/2; //上一个最高点的高度/2=下一个最高点的高度 
	} 
	printf("%.2lf %.2lf",m,sum-m) ;//总路程不包括第N次落地后反弹的高度，所以sum-m 
	return 0;
} 
